package Algorithm;

public class MinimumString {
    public static String minimumString(String iniString){
        StringBuilder stringBuilder=new StringBuilder();
        int count=0;  //记录前一个字符的重复次数
        char last=0; //上一个字符
        for(int i=0;i<iniString.length();i++){
            char charAt=iniString.charAt(i);
            if(stringBuilder.length()==0){//处理第一个字符
                stringBuilder.append(charAt);
                count++;
            }else{
                if(last==charAt){ //和上一个字符相同
                    count++;
                }else{
                    stringBuilder.append(count).append(charAt);
                    count=1; //重置为1
                }
            }
            last=charAt;
        }
        if(count>=1){
            stringBuilder.append(count);//考虑最后一个字符的重复次数
        }
        if(stringBuilder.length()>=iniString.length()){
            return iniString;
        }else{
            return stringBuilder.toString();
        }
    }

    public static void main(String[] args) {
        System.out.println(minimumString("aabcccddaaaa"));
    }
}
